WooCommerce 中基于订单总额的运费折扣百分比
Percentage discount on shipping based on order total in WooCommerce
我正在尝试通过插件或 functions.php 找到一种方法,了解如何在订单金额介于 25 英镑和 50 英镑之间时仅将运费打折 50%。
我正在使用“在 Woocommerce 中为本地取货运输方式设置百分比折扣
”,它根据送货方式打折,但我希望它能对所有送货方式打折,因为我们有很多送货方式,而且它没有最低订购量的规定。
您可以使用 woocommerce_package_rates
钩子
如果订单金额在 25 英镑到 50 英镑之间,这将为运费提供 50% 的折扣。
function filter_woocommerce_package_rates( $rates, $package ) {
/* Settings */
$min = 25;
$max = 50;
$discount_percent = 50;
// Get cart total
$cart_total = WC()->cart->cart_contents_total;
// Condition
if ( $cart_total >= $min && $cart_total <= $max ) {
// (Multiple)
foreach ( $rates as $rate_key => $rate ) {
// Get rate cost
$cost = $rates[$rate_key]->cost;
// Set rate cost
$rates[$rate_key]->cost = $cost - ( ( $cost * $discount_percent ) / 100 );
}
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );
我正在尝试通过插件或 functions.php 找到一种方法,了解如何在订单金额介于 25 英镑和 50 英镑之间时仅将运费打折 50%。
我正在使用“在 Woocommerce 中为本地取货运输方式设置百分比折扣 ”,它根据送货方式打折,但我希望它能对所有送货方式打折,因为我们有很多送货方式,而且它没有最低订购量的规定。
您可以使用
woocommerce_package_rates
钩子如果订单金额在 25 英镑到 50 英镑之间,这将为运费提供 50% 的折扣。
function filter_woocommerce_package_rates( $rates, $package ) {
/* Settings */
$min = 25;
$max = 50;
$discount_percent = 50;
// Get cart total
$cart_total = WC()->cart->cart_contents_total;
// Condition
if ( $cart_total >= $min && $cart_total <= $max ) {
// (Multiple)
foreach ( $rates as $rate_key => $rate ) {
// Get rate cost
$cost = $rates[$rate_key]->cost;
// Set rate cost
$rates[$rate_key]->cost = $cost - ( ( $cost * $discount_percent ) / 100 );
}
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );